<?php

namespace app\admin\model;

use think\Model;
use think\Config;

class VAnnalRoom extends Model
{
    // 表名
    protected $name = 'v_annal_room';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';

    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = false;
    
    // 追加属性
    protected $append = [
        'endtime_text',
        'status_text'
    ];
    

    
    public function getStatuslist()
    {
        return ['gameover' => __('Gameover'),'ydisbanded' => __('Ydisbanded'),'disbanded' => __('Disbanded')];
    }     

    public function getPaytypeAttr($value)
    {
        switch ($value) {
            case '1':
                return '房主支付';
                break;
            case '2':
                return 'AA制';
                break;
            default:
                # code...
                break;
        }
    }

    /**
     * 根据游戏ID读取游戏名称
     * @param int $value 游戏ID
     * @return string 游戏名称
     */
    public function getkinIdAttr($value)
    {
        $game_list = Config::get('GameName');
        if(isset($game_list[$value])){
            return $game_list[$value];
        }
        return '游戏未定义，请在配置中添加';
    }

    public function getEndtimeTextAttr($value, $data)
    {
        $value = $value ? $value : $data['endtime'];
        return is_numeric($value) ? date("Y-m-d H:i:s", (int)$value) : $value;
    }


    public function getStatusTextAttr($value, $data)
    {        
        $value = $value ? $value : $data['status'];
        $list = $this->getStatusList();
        return isset($list[$value]) ? $list[$value] : '';
    }

    protected function setEndtimeAttr($value)
    {
        return $value && !is_numeric($value) ? strtotime($value) : $value;
    }
    
    public function getClubtypeAttr($value)
    {
        switch ($value) {
            case '1':
                return '普通';
                break;
            case '2':
                return 'VIP';
                break;
            default:
                break;
        }
    }

}
